using System;
using System.Linq.Expressions;

namespace Karma.Framework.Core.Domain.Tools.Import.Configuration.Fluent
{
    public class PropertyConfiguration
    {
        public PropertyConfiguration(string propertyName, Type mytype)
        {
            _type = mytype;
            _name = propertyName;
        }

        protected string _name;
        public string Name
        {
            get
            {
                return _name;
            }
        }

        protected Type _type;
        public Type Type
        {
            get
            {
                return _type;
            }
        }

        protected string _reference;
        public string Reference
        {
            get
            {
                return _reference;
            }
            internal set
            {
                _reference = value;
            }
        }

        protected Type _referenceType;
        public Type ReferenceType
        {
            get
            {
                return _referenceType;
            }
            internal set
            {
                _referenceType = value;
            }
        }

        protected string/*Expression<Func<T, object>>*/ _formula;
        public string/*Func<object, object>*/ Formula
        {
            get
            {
                return _formula;
            }
            internal set
            {
                _formula = value;
            }
        }
    }
}